Sociological theory of diffusion